home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / program / palis.lha / Palis / src / vpl / basic.c next >
C/C++ Source or Header  |  1992-09-02  |  2KB  |  95 lines

  1. /*
  2.     ·C·O·D·E·X· ·D·E·S·I·G·N· ·S·O·F·T·W·A·R·E·
  3.     presents
  4.  
  5.     PatchLibraries Utility / VIEW
  6.  
  7.     FILE:    basic.c
  8.     TASK:    requesters & stuff
  9.  
  10.     (c)1995 by Hans Bühler, h0348kil@rz.hu-berlin.de
  11. */
  12.  
  13. #include    "plView.h"
  14.  
  15. // ---------------------------
  16. // defines
  17. // ---------------------------
  18.  
  19. // ---------------------------
  20. // datatypes
  21. // ---------------------------
  22.  
  23. // ---------------------------
  24. // proto
  25. // ---------------------------
  26.  
  27. // ---------------------------
  28. // vars
  29. // ---------------------------
  30.  
  31. static char        *TitleTxt    =    PROGNAME " message";
  32.  
  33. // ---------------------------
  34. // funx
  35. // ---------------------------
  36.  
  37. /*****************************************/
  38. /* Requester; uses reqtools if available */
  39. /*****************************************/
  40.  
  41. LONG Req(char *txt, char *gad, APTR arg1, APTR arg2, APTR arg3, APTR arg4)
  42. {
  43.     register struct rtReqInfo    *rInfo;
  44.     register LONG                    ret;
  45.     struct ReqToolsBase            *ReqToolsBase;
  46.  
  47.     if((ReqToolsBase = (APTR)OldOpenLibrary("reqtools.library")) &&
  48.         (rInfo = rtAllocRequestA(RT_REQINFO,0)) )
  49.     {
  50.         APTR        args[4];
  51.  
  52.         args[0]    =    arg1;
  53.         args[1]    =    arg2;
  54.         args[2]    =    arg3;
  55.         args[3]    =    arg4;
  56.  
  57.         ret    =    rtEZRequestTags(txt,gad,rInfo,args,
  58.                                             RT_WaitPointer,TRUE,
  59.                                             RT_ShareIDCMP,    TRUE,
  60.                                             RTEZ_ReqTitle,    TitleTxt,
  61.                                             RTEZ_Flags,        EZREQF_CENTERTEXT,
  62.                                             TAG_DONE);
  63.  
  64.         rtFreeRequest(rInfo);
  65.     }
  66.     else
  67.     {
  68.         register struct EasyStruct        easy;
  69.  
  70.         easy.es_StructSize    =    sizeof(struct EasyStruct);
  71.         easy.es_Flags            =    0;
  72.         easy.es_Title            =    TitleTxt;
  73.         easy.es_TextFormat    =    txt;
  74.         easy.es_GadgetFormat    =    gad;
  75.  
  76.         ret    =    EasyRequest(0,&easy,0,arg1,arg2,arg3,arg4);
  77.     }
  78.  
  79.     if(ReqToolsBase)
  80.         CloseLibrary((APTR)ReqToolsBase);        // we don't want to make use of too much memory !
  81.  
  82.     return ret;
  83. }
  84.  
  85. /*****************************/
  86. /* error requester short cut */
  87. /*****************************/
  88.  
  89. BOOL ErrorReq(char *txt, APTR arg1, APTR arg2, APTR arg3, APTR arg4)
  90. {
  91.     Req(txt,"Cancel",arg1,arg2,arg3,arg4);
  92.     return FALSE;
  93. }
  94.  
  95.